/**
 * Copyright 2020 Inc.
 **/
package com.myz.cloud.stream.rocketmq.consumer.stream;

import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;

/**
 * 输出通道@Output,向消息通道发送消息的方法
 * 生产者
 *
 * @author maoyz0621 on 2020/8/17
 * @version v1.0
 */
public interface StreamOutputChannel {

    // 这里的名称对应了spring.cloud.stream.rocketmq.bindings.<channelName>
    String OUTPUT = "my-output";

    String PUSH = "push_sender";
    String SMS = "sms_sender";
    String CHALLENGE = "challenge_sender";
    String BIND = "bind_sender";

    @Output(StreamOutputChannel.OUTPUT)  // 通道名称
    MessageChannel output();

    @Output(StreamOutputChannel.PUSH)
    MessageChannel push();

    @Output(StreamOutputChannel.SMS)
    MessageChannel sms();

    @Output(StreamOutputChannel.CHALLENGE)
    MessageChannel challenge();

    @Output(StreamOutputChannel.BIND)
    MessageChannel bind();
}